package org.example.controller;

import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.PostConstruct;

//这个注解也会注册bean对象。
// 相比@Controller，多了一个作用：把方法返回值作为http响应正文
@RestController
@RequestMapping("/user")
//@Slf4j//lombok的日志注解，表示当前类会自动生成一个log的属性（日志打印的对象）
public class UserController {

    private static final Logger log = LoggerFactory.getLogger(UserController.class);

    //@Value注解，使用${"配置项的键名"}，就可以把该键对应的值，设置到属性中
    @Value("${my.user.name}")
    private String username;

    @Value("${my.user.password}")
    private String password;

    @PostConstruct
    public void init(){
//        System.out.println(username);
        // 日志打印，也可以使用字符串格式化的方式
        log.debug("配置文件中的my.user.name: {}, my.user.password: {}", username, password);
    }


    //提供了一个服务资源：路径是/user/login，返回响应正文“登录成功”
    @RequestMapping("/login")
    public String login(){
        return "登陆成功:" + username;
    }
}
